// pages/create_chatroom/create_chatroom.js
Page({
  data: {
    chatroomName: '', // 聊天室名称
    description: '',  // 聊天室描述
    firstMessage: ''  // 第一条消息内容
  },

  // 监听聊天室名称输入
  onNameInput: function (event) {
    this.setData({
      chatroomName: event.detail.value
    });
  },

  // 监听聊天室描述输入
  onDescriptionInput: function (event) {
    this.setData({
      description: event.detail.value
    });
  },

  // 监听第一条消息输入
  onFirstMessageInput: function (event) {
    this.setData({
      firstMessage: event.detail.value
    });
  },

  // 获取用户信息并创建聊天室
  getUserProfileThenCreate: function () {
    const app = getApp();
    const userId = app.globalData.userId;

    if (!userId) {
      wx.showToast({
        title: '未获取到用户信息，请重新登录',
        icon: 'none'
      });
      return;
    }

    const db = wx.cloud.database();
    const _ = db.command;

    // 输入验证
    if (!this.data.chatroomName || !this.data.firstMessage) {
      wx.showToast({
        title: '聊天室名称和第一条消息不能为空',
        icon: 'none'
      });
      return;
    }

    // 创建聊天室
    db.collection('chatrooms').add({
      data: {
        name: this.data.chatroomName,
        description: this.data.description,
        createdAt: db.serverDate(),
        updatedAt: db.serverDate(),
        creatorId: userId,
        memberCount: 1
      }
    }).then(chatroomRes => {
      const chatroomId = chatroomRes._id;

      // 创建聊天室成员记录
      return db.collection('chatroomMembers').add({
        data: {
          roomId: chatroomId,
          userId: userId,
          joinedAt: db.serverDate(),
          role: 'admin'
        }
      }).then(() => {
        // 创建第一条消息记录
        return db.collection('messages').add({
          data: {
            roomId: chatroomId,
            senderId: userId,
            content: this.data.firstMessage,
            sendTimeTs: Date.now(),
            likeCount: 0,
            collectCount: 0,
            showTime: true
          }
        });
      });
    }).then(() => {
      wx.showToast({
        title: '创建成功',
        icon: 'success'
      });
      // 获取页面栈
      const pages = getCurrentPages();
      const prevPage = pages[pages.length - 2]; // 获取上一个页面（聊天论坛页面）
      if (prevPage) {
        if (typeof prevPage.refreshData === 'function') {
          prevPage.refreshData(); // 调用上一个页面的刷新方法
        }
      }
      // 
      wx.navigateBack();
    }).catch(err => {
      console.error('创建失败:', err);
      wx.showToast({
        title: '创建失败，请稍后重试',
        icon: 'none'
      });
    });
  }
});